package com.tangbao.photo.mapper;

import com.tangbao.photo.model.LunboImg;
import com.tangbao.photo.model.Photo;
import com.tangbao.photo.model.PhotoType;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * 创建人： tangbao
 * 创建时间： 2018/12/6 11:33
 * 功能：
 */
@Repository
public interface PhotoMapper {

    /**
     * 描述：根据图片类型获取对应图片（分页获取）[轮播图和图片列表同一个方法]
     * @param start 开始页
     * @param pageSize 页大小
     * @param typeId 图片类型
     * @param isLunbo 是否是轮播图
     * 返回值：java.util.List<com.tangbao.photo.model.Photo>
     * @throw
     * 创建人：tangbao
     * 创建时间：
     * 修改人和信息：
     */
    List<Photo> getPhotolist(@Param("start") Integer start, @Param("pageSize") Integer pageSize, @Param("typeId") Integer typeId, @Param("isLunbo") Integer isLunbo);
    //查询图片列表总数
    Integer getPhotolistNum();

    /**
     * 描述：获取图片类型列表
     * 返回值：java.util.List<com.tangbao.photo.model.PhotoType>
     * @throw
     * 创建人：tangbao
     * 创建时间：
     * 修改人和信息：
     */
    List<PhotoType> getPhotoType();
    
    /**
     * 描述：根据图片id获取图片详情
     * @param imageId 图片id
     * 返回值：com.tangbao.photo.model.Photo
     * @throw 
     * 创建人：tangbao 
     * 创建时间：2018/12/13 17:42 
     * 修改人和信息：
     */
    Photo getPhoto(@Param("imageId") Integer imageId);
    /**
     * 描述：根据图片id查询图片对应轮播图列表
     * @param imageId 图片id
     * 返回值：java.util.List<com.tangbao.photo.model.LunboImg>
     * @throw
     * 创建人：tangbao
     * 创建时间：2018/12/13 17:57
     * 修改人和信息：
     */
    List<LunboImg> getLunboImgList(@Param("imageId") Integer imageId);

    /**
     * 描述：图片详情点击次数+1
     * @param imageId  图片id
     * 返回值：int
     * @throw
     * 创建人：tangbao
     * 创建时间：2018/12/17 2:24
     * 修改人和信息：
     */
    int updatePhotoClick(@Param("imageId") Integer imageId);


}
